CKEDITOR.plugins.add("uploadfile", {
	init: function (editor) {
	
		editor.ui.addButton("uploadfile", {
			icon: this.path + "icon.png",//在toolbar中的图标 - 上面icon.png文件
			toolbar: 'others', // 工具栏按钮组 -  属于哪个组 我这里设置为 others
			command: "uploadfile",  // 点击时执行的命令  -  个人理解
			label:"图片/文件"
		});
		// 命令编写
		editor.addCommand("uploadfile", {
			exec: function (editor) {
			// 创建文件选择
				var input = document.createElement( 'input' );
				input.setAttribute("type", "file");
				input.setAttribute("id", "uploadFile");
				input.style.display = 'none'; // 隐藏
				// 插入页面
				document.getElementsByTagName("body")[0].prepend(input);
				// 上传文件 选中文件时上传
				$("#uploadFile").unbind("change").on('change', function() {
					 // Do something
					/*if(flag) {
	                       alert("正在上传文件，请稍后再试");
	                       return;
	                   }*/
	                   // flag = true;
	                   var formData = new FormData();
	                   formData.append("file",  $("#uploadFile")[0].files[0]);

	                   $.ajax({
	                       type: 'POST',
	                       url: '/ckeditorUploadImage',
	                       data: formData,
	                       cache: false,
	                       processData: false,
	                       contentType: false,
	                       success: function(result) {
	                    	   console.log(result)
	                    	   var res = JSON.parse(result);
	                           if(res.code) {
	                        	   var data = res.data;
	                               // alert("文件上传成功");
	                               // 将我们选择的文本替换成超链接
	                        	   if(data.fileType == "img") {
	                        		   var imgTmp = editor.document.createElement( 'img' );
	                        		   // 将返回的文件名拼接到超链接的href中，当我们在页面中点击超链接时可以下载文件
	                        		   imgTmp.setAttribute("src", data.imageUrl);
	                        		   // imgTmp.setText(text);
	                        		   editor.insertElement(imgTmp);
	                        	   } else {
	                        		   var aTmp = editor.document.createElement( 'a' );
	                        		   aTmp.setAttribute("href", data.imageUrl);
	                        		   aTmp.setText(data.imageName +" 下载");
	                        		   aTmp.setAttribute("download", data.imageName);
	                        		   editor.insertElement(aTmp);
	                        	   }
	                           } else {
	                               alert(result.data);
	                           }
	                       },
	                       error: function () {
	                           alert("文件上传失败！");
	                       },
	                       complete: function () {
	                           flag = false;
	                       }
	                   });
				});
				// 模拟点击事件
				$("#uploadFile").click();
			}
		});
	}
});

